package client.controlador;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

import beans.ClienteBean;
import beans.CondicionCompraBean;
import client.conector.BusinessDelegate;

public class Controlador {
	private BusinessDelegate bd;
	private static Controlador instancia;

	private Controlador() {
		bd = new BusinessDelegate();

	}

	public static Controlador getInstancia() {
		if (instancia == null) {
			instancia = new Controlador();
		}
		return instancia;
	}

	public boolean ingresarCliente(ClienteBean cliente) {
		return bd.ingresarCliente(cliente);
	}

	public List<ClienteBean> obtenerClientes() {
		return bd.obtenerClientes();
	}

	public boolean eliminarCliente(ClienteBean cliente) {
		return bd.eliminarCliente(cliente);
	}

	public List<CondicionCompraBean> obtenerCondicionesCompra() {
		return bd.obtenerCondicionCompra();
	}

	public List<CondicionCompraBean> obtenerCondicionesCompra(ClienteBean clienteActual) {
		return bd.obtenerCondicionesCompra(clienteActual);
	}

	public void enviarListadoPrecios(Document listaPrecios) {
		bd.enviarListadoPrecios(listaPrecios);

	}

	public File recibirSolicitudCotizacion(Object doc) {

		return new File("c:/xml/Cotizacion1.xml");

	}

	public File recibirPedido(Object doc) {

		return new File("c:/xml/Factura.xml");

	}

	public File validarPedido() {

		return new File("c:/xml/Pedido1.xml");

	}

	public File validarPedido2() {

		return new File("c:/xml/Pedido2.xml");

	}

	public Document recibirPedido(Document doc) {
		return bd.recibirPedido(doc);
	}

	public ClienteBean obtenerCliente(String cuit) {
		return bd.obtenerCliente(cuit);
	}

	public String[] obtenerRodamientos() {
		return new String[1];
		// return bd.obtenerRodamientos();
	}

	public Document recibirSolicitudCotizacion(Document doc) {
		return bd.recibirSolicitudCotizacion(doc);
	}
}
